Computer method and apparatus for determining content types of web pages

ABSTRACT

Computer method and apparatus determines content type of contents of a subject Web page. A predefined set of potential content types is first provided. For each potential content type, there are one or more tests having test results that enable quantitative evaluation of the contents of the subject Web page. A respective probability of each potential content type being detected in some contents of the subject Web page is determined. A Bayesian network combines the test results to provide indications of the types of contents detected on the subject Web page. A confidence level per detected content type is also provided. A database stores the determined probabilities and confidence levels, and thus provides a cross reference between Web pages and respective content types of contents found on the Web pages.

RELATED APPLICATION(S)

[0001] This application claims the benefit of Provisional Patent Application No. 60/221,750, filed Jul. 31, 2000, the entire teachings of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] Generally speaking a global computer network, e.g., the Internet, is formed of a plurality of computers coupled to a communication line for communicating with each other. Each computer is referred to as a network node. Some nodes serve as information bearing sites while other nodes provide connectivity between end users and the information bearing sites.

[0003] The explosive growth of the Internet makes it an essential component of every business, organization and institution strategy, and leads to massive amounts of information being placed in the public domain for people to read and explore. The type of information available ranges from information about companies and their products, services, activities, people and partners, to information about conferences, seminars, and exhibitions, to news sites, to information about universities, schools, colleges, museums and hospitals, to information about government organizations, their purpose, activities and people. The Internet became the venue of choice for every organization for providing pertinent, detailed and timely information about themselves, their cause, services and activities.

[0004] The Internet essentially is nothing more than the network infrastructure that connects geographically dispersed computer systems. Every such computer system may contain publicly available (shareable) data that are available to users connected to this network. However, until the early 1990's there was no uniform way or standard conventions for accessing this data. The users had to use a variety of techniques to connect to remote computers (e.g. telnet, ftp, etc) using passwords that were usually site-specific, and they had to know the exact directory and file name that contained the information they were looking for.

[0005] The World Wide Web (WWW or simply Web) was created in an effort to simplify and facilitate access to publicly available information from computer systems connected to the Internet. A set of conventions and standards were developed that enabled users to access every Web site (computer system connected to the Web) in the same uniform way, without the need to use special passwords or techniques. In addition, Web browsers became available that let users navigate easily through Web sites by simply clicking hyperlinks (words or sentences connected to some Web resource).

[0006] Today the Web contains more than one billion pages that are interconnected with each other and reside in computers all over the world (thus the term “World Wide Web”). The sheer size and explosive growth of the Web has created the need for tools and methods that can automatically search, index, access, extract and recombine information and knowledge that is publicly available from Web resources.

[0007] The following definitions of commonly used terms are used herein.

[0008] Web Domain

[0009] Web domain is an Internet address that provides connection to a Web server (a computer system connected to the Internet that allows remote access to some of its contents).

[0010] URL

[0011] URL stands for Uniform Resource Locator. Generally, URLs have three parts: the first part describes the protocol used to access the content pointed to by the URL, the second contains the directory in which the content is located, and the third contains the file that stores the content:

[0012] <protocol>: <domain><directory><file>

[0013] For example:

[0014] http://www.corex.com/bios.html

[0015] http://www.cardscan.com/index.html

[0016] http://fn.cnn.com/archives/may99/pr37.html

[0017] ftp://shiva.lin.com/soft/words.zip

[0018] Commonly, the <protocol> part may be missing. In that case, modem Web browsers access the URL as if the http:// prefix was used. In addition, the <file> part may be missing. In that case, the convention calls for the file “index.html” to be fetched.

[0019] For example, the following are legal variations of the previous example URLs:

[0020] www.corex.com/bios.html

[0021] www.cardscan.com

[0022] fn.cnn.com/archives/may99/pr37.html

[0023] ftp://shiva.lin.com/soft/words.zip

[0024] Web Page

[0025] Web page is the content associated with a URL. In its simplest form, this content is static text, which is stored into a text file indicated by the URL. However, very often the content contains multi-media elements (e.g. images, audio, video, etc) as well as non-static text or other elements (e.g. news tickers, frames, scripts, streaming graphics, etc). Very often, more than one files form a Web page, however, there is only one file that is associated with the URL and which initiates or guides the Web page generation.

[0026] Web Browser

[0027] Web browser is a software program that allows users to access the content stored in Web sites. Modern Web browsers can also create content “on the fly”, according to instructions received from a Web site. This concept is commonly referred to as “dynamic page generation”. In addition, browsers can commonly send information back to the Web site, thus enabling two-way communication of the user and the Web site.

[0028] Every Web site publishes its content packaged in one or more Web pages. Typically, a Web page contains a combination of text and multimedia elements (audio, video, pictures, graphics, etc) and has relatively small and finite size. There are of course exceptions, most notably in pages that contain streaming media, which may appear to have “infinite” size, and in cases of dynamic pages that are produced dynamically, “on the fly”. However, even in those cases, there is some basic HTML code that forms the infrastructure of the page, and which may dynamically download or produce its contents on the fly.

[0029] In general, it is more useful for someone to identify the contents of “static” pages, which are less likely to change over time, and which can be downloaded into local storage for further processing. When the contents of a page are known, then special data extraction tools can be used to detect and extract relevant pieces of information. For example, a page identified as containing contact information may be passed to an address extraction tool; pages that contain press releases may be given to search engines that index news; and so on. Furthermore, identifying automatically the content type may be useful in “filtering” applications, which filter out unwanted pages (e.g. porn filters). Simple filters used today work mostly on the basis of keyword searches. The current invention, however, uses a much more sophisticated and generic technique, which combines several test outcomes and their statistical probabilities to produce a list of potential content types, each one given with a specific confidence level.

[0030] There are several applications that can significantly benefit from automatic Web page content identification; for example, see Inventions 4, 5 and 6 as disclosed in the related Provisional Application No. 60/221,750 filed on Jul. 31, 2000 for a “Computer Database Method and Apparatus”.

SUMMARY OF THE INVENTION

[0031] The purpose of this invention is to automatically identify and classify the contents of a Web page among some specific types, by assigning a confidence level to each type. For example, given the following list of potential content types:

[0032] {Contact Information, Press Release, Company Description, Employee List, Other}

[0033] The present invention analyzes the contents of some random Web page and produces a conclusion similar to the following:

[0034] Contact Information: 93%

[0035] Press Release: 2%

[0036] Company Description: 26%

[0037] Employee List: 7%

[0038] Other: 11%

[0039] This conclusion presents the probabilities that the given Web page contains each one of the pre-specified potential content types. In the above example, there is 93% probability that the given Web page contains contact information, 2% probability that it contains a press release, 26% that it contains company description, 7% that it contains an employee list, and 11% that its content actually does not fit in any of the above types.

[0040] The present invention method includes the steps of:

[0041] providing a predefined set of potential content types;

[0042] for each potential content type, running tests having test results which enable quantitative evaluation of at least some contents of the subject Web page being of the potential content type;

[0043] mathematically combining the test results; and

[0044] based on the combined test results, assigning a respective probability, for each potential content type, that some contents of that type exists on the subject Web page.

[0045] Apparatus embodying the present invention thus includes a predefined set of potential content types and a test module utilizing the predefined set. The test module employs a plurality of processor-executed tests having test results which enable, for each potential content type, quantitative evaluation of at least some contents of the subject Web page being of the potential content type. For each potential content type, the test module (i) runs at least a subset of the tests, (ii) combines the test results and (iii) for each potential content type, assigns a respective probability that at least some contents of that type exists on the subject Web page.

[0046] The set of potential content types includes one or more of the following:

[0047] organization description,

[0048] organization history,

[0049] organization mission,

[0050] organization products/services,

[0051] organization members,

[0052] organization contact information,

[0053] management team information,

[0054] job opportunities,

[0055] press releases,

[0056] calendar of events/activities,

[0057] biographical data,

[0058] articles/news with information about people,

[0059] articles/news with information about organizations, and

[0060] employee roster.

[0061] In a preferred embodiment of the present invention, the step of combining includes producing a respective confidence level for each potential content type, that at least some content of the subject Web page is of the potential content type. Further, a Bayesian network is used to combine the test results. The Bayesian network is trained using a training set of Web pages with respective known content types such that statistics on the test results are collected on the training set of Web pages.

[0062] In accordance with one aspect of the present invention, the tests involve:

[0063] (i) determining whether a predefined piece of data or keyword appears in the page (e.g., people names, telephone numbers, etc.),

[0064] (ii) examining syntax or grammar or text properties (e.g., number of passive sentences, number of sentences without a verb, percentage of verbs in past tense, etc.),

[0065] (iii) examining the page format and style (e.g., number of fonts used, existence of tables, existence of bullet lists, etc.),

[0066] (iv) examining the links in the page (e.g., number of internal links, number of external links, number of links to media files, number of links to other pages, etc.), and/or

[0067] (v) examining the links that refer to this page (e.g., number of referring links, key words in referring links, etc.).

[0068] In accordance with another aspect of the present invention, storage means (e.g., a database) receives and stores indications of the assigned probabilities of each content type per Web page as determined by the test module. The storage means thus provides a cross reference between a Web page and respective content types of contents found on that Web page.

BRIEF DESCRIPTION OF THE DRAWINGS

[0069] The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.

[0070]FIG. 1 is an overview of the preparation phase for the present invention.

[0071]FIG. 2 is a dataflow diagram for the training phase of the present invention.

[0072]FIG. 3 is an overview of the classification phase.

[0073]FIG. 4 is a block diagram of a preferred computer embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0074] Every Web page is simply a container of information. There are no restrictions or standard conventions about the type of information it contains, its style, or its format. Therefore it is very difficult for computer programs to automatically extract information from a random Web page, since there are no rules or standards that could help them locate the information, or simply determine if the information exists at all.

[0075] The present invention helps solve the second part of this problem, namely to determine what kind of information a given Web page contains. Once the content type of a Web page is known, specialized techniques can be used to locate and extract this content (e.g. see Inventions 5 and 6 as disclosed in the related Provisional Application No. 60/221,750 filed on Jul. 31, 2000 for a “Computer Database Method and Apparatus”).

[0076] A simplistic approach in identifying the contents of a Web page is to develop and use a set of rules similar to the following:

[0077] If a page contains long paragraphs, and it contains at least one stock ticker symbol, and it contains a section entitled “About . . . ”, and it contains at least one phone number or at least one address at the end, then it is a press release.

[0078] However, there are several problems associated with developing and using these kinds of rules, for example:

[0079] a) these rules may become very complicated, hard to understand, and are error prone,

[0080] b) they are very rigid, in the sense that a rule either fires or not. In other words, no “partial credit” is given when a rule is only partially satisfied,

[0081] c) the end result of implementing these rules is simply a classification, but without any measure of the confidence level associated with this classification,

[0082] d) the rules are developed based mostly on intuition and simple observations, without associating any kind of statistical confidence or measure with each rule.

[0083] The present invention circumvents all these problems by replacing the rule-based approach with a series of tests, statistical training, and mathematical combination of the test results to produce a list of the potential content types and an accurate measure of the confidence level associated with each type. In a preparation phase, the user defines the set of content types that the invention must recognize within Web pages, and prepares tests that provide evidence about one or more of these types. Next is a training phase. During this phase, the user runs all the tests on a set of Web pages with known content types. Then, the results of the tests are used to calculate statistical conditional probabilities of the form P(Test result|Hypothesis), i.e. the probability that a particular test result will appear for a particular test, given a particular hypothesis. The resulting table with probabilities can then be used for classification. Finally, in use, the user runs the tests prepared in the preparation phase on a subject Web page with unknown content types and collects the test results. Then, the user combines the test results using the probabilities from the training phase and calculates a confidence level for each of the potential content types, as they have been identified during the preparation phase.

[0084] More specifically, the current invention uses the following steps:

[0085] A. Preparation

[0086] a) Create the list of the content types to identify

[0087] b) Create a set of tests that provide evidence (either “positive” or “negative”) about these types based on the language content, format, style, or structure of a Web page

[0088] B. Training

[0089] a) Run the tests on a training sample of many Web pages with known content types

[0090] b) Collect the test results and calculate conditional probabilities for all combinations of test outcomes and hypothesis values

[0091] C. Classification

[0092] a) Run the tests on a given Web page

[0093] b) Combine the conditional probabilities from the test results using a series of Bayesian Networks to produce a confidence level for each type

[0094] The following provides more details about each step.

[0095] With reference to FIG. 1, a preparation phase 24 is illustrated. The first task in identifying the contents of a Web page is, naturally, to decide what kind of content types 10 a user is interested in. For example, one user may need to identify pages that contain company-related information. In that case, the set 10 of potential content types may be the following:

[0096] {Company Description, Company Locations, Company Contact Information, Company Products, Other}

[0097] Yet another user may need to identify pages that contain conference-related information. In that case, the potential content types 10 may be the following:

[0098] {Conference Title, Conf. Description, Conf. Keywords, Conf. Dates, Conf. Location, Conf. Call for Papers, Conf. Organizing Committee, Other}

[0099] The next step in preparation phase 24 is to prepare tests 15 that provide some evidence whether a page contains some of these content types 10 or not. For example, the following tests may be used to provide evidence about whether a page contains a press release or not:

[0100] Test 1: Page contains company keywords, for example: Inc., Corp., Ltd., etc.

[0101] Outcome: True or False

[0102] Test 2: Page contains section entitled “About . . . ”

[0103] Outcome: True or False

[0104] Test 3: Page contains stock ticker symbols

[0105] Outcome: True or False

[0106] Test 4: Page contains phone numbers or addresses

[0107] Outcome: True or False . . . etc . . .

[0108] Note that all these are binary tests, with two possible outcomes, “True” or “False”. However, tests with more than two possible outcomes may also be used, as the following:

[0109] Test 5: The number of paragraphs in the page is in one of the following ranges:

[0110] A=[0-3], B=[4-10], C=[11-30], D=[31-∞].

[0111] Outcome: A, B, C, or D (the corresponding range).

[0112] Test 6: The number of words in the page is in one of the following ranges:

[0113] Small=[0-300], Medium=[301-1000], Large=[1001-∞].

[0114] Outcome: Small, Medium, or Large (the corresponding range).

[0115] Test 7: The number of external links in the page is: 0, 1, 2, or more (outcome “M”)

[0116] Outcome: 0, 1, 2, or M (the corresponding outcome).

[0117] In general, the tests 15 may be anything that helps differentiate between two or more of the given types 10. For example, some possible types of tests 15 are the following:

[0118] check if an easily recognizable piece of data (a predefined term or keyword) appears in the page (e.g. people names, telephone numbers, etc.)

[0119] measure syntax or grammar or text properties (e.g. number of passive sentences, number of sentences without a verb, percentage of verbs in past tense, etc)

[0120] examine the page format and style (e.g. number of fonts used, existence of tables, existence of bullet lists, etc.)

[0121] examine the links in the page (e.g. number of internal links, number of external links, number of links to media files, number of links to other pages, etc.)

[0122] examine the links that refer to this page (e.g. number of referring links, keywords in referring links, etc.) and so on.

[0123] The particular kind of tests 15 to develop and use depends of course on the task in hand, i.e. the kind of page content that the user is interested in identifying.

[0124] Now turning to FIG. 2, after a series of suitable tests 15 has been developed, the next step is to measure the statistical connection between every possible test outcome and the target page content types 10. In order to do that, a training set 23 of pages with known content types is collected. For example, if the target content types 10 are the following:

[0125] {Company Description, Company Locations, Company Products, Other} then a training set 23 of a few hundred Web pages is collected and the content type of each one is identified (step 20 in FIG. 2) as follows:

[0126] URL1, Company Description

[0127] URL2, Company Description

[0128] URL3, Company Locations+Company Description

[0129] URL4, Other

[0130] URL5, Company Products

[0131] URL6, Other

[0132] URL7, Company Description+Company Products

[0133] URL8, Company Locations . . . etc . . .

[0134] In general, the accuracy of the classification that is achieved by this invention increases as the training set 23 becomes larger and more representative of the “real world”. The ideal training set 23 is a random sample of a few hundred to a few thousand samples (the actual number depends on the number of target types, and how easily they are distinguishable from each other).

[0135] With a training set 23 in hand, the actual training phase/module 50 consists of the following steps as illustrated in FIG. 2:

[0136] a) run all tests 15 on all samples 23

[0137] b) collect the test results 22, and calculate the conditional probabilities 23 for each result to appear given each target type 20, i.e. P(test result|content type)

[0138] The test results 22 and the conditional probabilities 27 connected with each result provide evidence about the possibility that the page contains each one of the target content types 20. But a tool is still needed to combine and weight all these pieces of evidence, and produce the final conclusion. The mathematical tool that is used by the present invention is based on the concept of Bayesian Networks and is illustrated in FIG. 3 (discussed later).

[0139] Bayesian Networks have emerged during the last decade as a powerful decision-making technique. It is a statistical algorithm that can combine the outcome of several tests in order to chain probabilities and produce an optimal decision based on the given test results.

[0140] Bayesian Networks come in many forms, however their basic building block is Bayes' theorem: ${P\left( A \middle| B \right)} = {{P(A)} \cdot \frac{P\left( B \middle| A \right)}{P(B)}}$

[0141] One of the simplest types of Bayesian Networks is the Naïve Bayesian Network. The Naïve Bayesian Network is based on the assumption that the tests are conditionally independent which simplifies considerably the calculations. In Naïve Bayesian Networks, the formula that calculates the probability for some hypothesis given some test results is the following: ${P\left( {\left. H_{i} \middle| T_{1} \right.,T_{2},\cdots \quad,T_{N}} \right)} = \frac{F_{i}}{F_{1} + F_{2} + \cdots + F_{1} + \cdots + F_{K}}$

[0142] where:

F=P(H _(i))·P(T ₁ |H _(i))·P(T ₂ |H _(i))·. . . ·P(T _(N) |H _(i))

[0143] H₁, H₂, . . . , H_(K) are all the possible values of the hypothesis

[0144] T₁, T₂, . . . , T_(N) are the test results from tests 1, 2, . . . , N respectively.

[0145] In order to produce a conclusion and the overall confidence level associated with each content type, several Bayesian Networks are used, one for every content type. Each Bayesian Network is capable to detect the existence of one type of contents, based on the test results. The output of each Bayesian Network is a probability, or confidence level, that the given page contains that type of content.

[0146] For example, to distinguish between the following types:

[0147] {Company Description, Company Locations, Company Products, Other} the following 3 Bayesian Networks are used:

[0148] 1. Company Description Bayesian Network

[0149] 2. Company Locations Bayesian Network

[0150] 3. Company Products Bayesian Network

[0151] The Company Description Bayesian Network has the following hypothesis:

[0152] Hypothesis: the given Web page contains company description with two possible values, True or False. Passing the test results through this Bayesian Network produces a value between 0 and 1, which corresponds to the probability that the hypothesis is True. For example, if this Bayesian Network outputs 0.83, that means there is 83% confidence level that the given page contains a company description.

[0153] The other Bayesian Networks are used in the same way, and the end result is an array of values that correspond to confidence levels about the existence of the target content types.

[0154] Referring to FIG. 3, a subject Web page 34 is received as input to Bayesian Network module 52. The Bayesian Network module 52 applies the predefined tests 15 from the preparation phase 24 (FIG. 1). The test results 36 for the subject Web page 34 are combined using a Bayesian Network 38 as described above. The Bayesian Network 38 calculates a confidence level 32 for each candidate content type 10 (FIG. 1). That is, the Bayesian Network 38 outputs an indication (i.e., the probability) of each type 10 of content being detected on the subject Web page 34.

[0155] Illustrated in FIG. 4 is a computer system 12 for implementing the present invention. A digital processor 59 receives input at 14 from input devices (e.g., keyboard, mouse, etc.), a software program, another computer (e.g., over a communications line, the Internet, within an intranet, etc.) and the like. The digital processor 59 provides as output 16, indications of the types of contents detected on given input Web page. Preferably confidence level per detected content type is also output. The output 16 is provided to output devices (e.g., a display monitor, printer, etc.), software programs, another computer (coupled to processor 59 across a communications link) and the like. In the preferred embodiment, the page content types determined by computer system 12 for respective Web pages are output to a database system 31 for storage therein. In particular, the database 31 receives and stores the indications of page content types correlated to (or in a cross-referenced manner with) indications of respective Web pages. As such, a database 31 or index of Web pages and corresponding page content type is formed by the present invention method and apparatus.

[0156] In FIG. 4, digital processor 59 stores or has loaded into its memory the invention software 18. As appropriate, processor 59 executes invention software 18 to implement the present invention as discussed above in FIGS. 1-3. In particular, software routine 18 is formed of a training member/module 50, a Bayesian Network module 52 and a test module 54. The test module 54 performs step A (preparation) above, while training module 50 performs step B (training) above with the support of test module 54. Specifically training module 50 applies the tests 15 of step A above to training set 23 of Web pages with known content types. Next training module 50 calculates conditional probabilities 27 for all combinations of test outcomes and hypothesis values.

[0157] The Bayesian Network module 52 implements step C (classification) above as previously discussed in conjunction with FIG. 3.

EXAMPLE

[0158] As a comprehensive example, a Bayesian Network that recognizes pages that contain press release content is presented next.

[0159] The example Bayesian Network identifies if the page contains press release content. Therefore the content types of interest are simply:

[0160] {PRESS_RELEASE, OTHER}

[0161] In order to identify between these two target types, one Bayesian Network with the following hypothesis is sufficient:

[0162] Hypothesis: Page contains press release.

[0163] Outcome: True or False.

[0164] The following tests are defined to offer evidence regarding this hypothesis:

[0165] Test 1: The page has a title.

[0166] Outcome: True or False.

[0167] Test 2: The page has a copyright statement.

[0168] Outcome: True or False.

[0169] Test 3: The page has a navigation map.

[0170] Outcome: True or False.

[0171] Test 4: The page has a line with the word “Contact” followed by at least 1 phone number within the next 10 lines.

[0172] Outcome: True or False.

[0173] Test 5: The page has a text line that contains the string “Press Release” or “for immediate release”.

[0174] Outcome: True or False.

[0175] Test 6: The first sentence of the first paragraph has a date.

[0176] Outcome: True or False.

[0177] Test 7: The first sentence of the first paragraph is preceded by a header line. If this header contains a company name, then outcome is “Company”.

[0178] Outcome: True, False, or Company.

[0179] Test 8: First sentence of first paragraph contains a company name.

[0180] Outcome: True or False.

[0181] Test 9: First sentence of first paragraph contains the word “announce” or a form of it.

[0182] Outcome: True or False.

[0183] Test 10: First sentence of first paragraph contains “NYSE:” or “NASDAQ:”.

[0184] Outcome: True or False.

[0185] Test 11: There is a line or sentence starting with “For further information” or “For more information” (if this line contains a company name, then outcome is “Company”)

[0186] Outcome: True, False, or Company.

[0187] Test 12: There is a text line starting with “About” (if this line contains a company name, then outcome is “Company”).

[0188] Outcome: True, False, or Company.

[0189] Test 13: The page has a text line containing one of the headers defined in “Stuff Headers” list (see below).

[0190] Outcome: True or False.

[0191] Test 14: The page has a text line containing one of the headers defined in “Board Headers” list (see below).

[0192] Outcome: True or False.

[0193] Test 15: The percentage of header lines in the page is in one of the following ranges: 1=[0-13), 2=[13-100].

[0194] Outcome: 1 or 2 (the corresponding range).

[0195] Test 16: The average sentence length in the page is in one of the following ranges: 1=[0-65), 2=[65-∞].

[0196] Outcome: 1 or 2 (the corresponding range).

[0197] Test 17: The number of different domains in the page is in one of the following ranges: 1=[0-7), 2=[7-∞].

[0198] Outcome: 1 or 2 (the corresponding range).

[0199] Test 18: The number of lines that contain a state abbreviation (e.g. MA, LA, FL) is in one of the following ranges: 1=[0-2], 2=[2-∞].

[0200] Outcome: 1 or 2 (the corresponding range).

[0201] Test 19: The number of noun phrases in the page that appear in sentences and correspond to companies (recognizable by company keywords, e.g. Inc, Corporation, Ltd, etc) is in one of the following ranges: 1=[0-5], 2=[5-∞].

[0202] Outcome: 1 or 2 (the corresponding range).

[0203] Test 20: The number of noun phrases in the page that appear in sentences and correspond to a city name is in one of the following ranges: 1=[0-2], [2-∞].

[0204] Outcome: 1 or 2 (the corresponding range). Test

[0205] 21: The URL of the page contains any of the following keywords: 1=press, 2=release, 3=news, 4=pr.

[0206] Outcome: 1, 2, 3, 4 (the corresponding keyword) or False (none of these keywords found).

[0207] Stuff Headers

[0208] appointed officers

[0209] board of executive officers

[0210] board of management

[0211] administrative personnel

[0212] company officers

[0213] company personnel

[0214] corporate executives

[0215] corporate officers

[0216] corporate officers & management

[0217] corporate management

[0218] corporation officers

[0219] executive biographies

[0220] executive bios

[0221] executive committee

[0222] executive leadership team

[0223] executive management

[0224] executive management team

[0225] executive office

[0226] executive officers

[0227] executive officers biographies

[0228] executive profiles

[0229] executive staff

[0230] executive team

[0231] executives

[0232] list of officers

[0233] management biographies

[0234] management profiles

[0235] management summary

[0236] management team

[0237] management

[0238] meet our executives

[0239] meet the executive team

[0240] meet our executive team

[0241] meet our team

[0242] meet our staff

[0243] meet the team

[0244] meet the staff

[0245] officer biography

[0246] officer biographies

[0247] officer biography's

[0248] officer bios

[0249] officer profiles

[0250] officers

[0251] officers and directors

[0252] officers of the corporation

[0253] operating officers

[0254] operations executives

[0255] other executive officers

[0256] other officers

[0257] other senior management

[0258] our executive bios

[0259] our management

[0260] principal officers

[0261] senior executive staff

[0262] senior executives

[0263] senior leadership

[0264] senior management

[0265] senior medical staff

[0266] senior officers

[0267] staff

[0268] the officers of the company

[0269] the strategic leadership team

[0270] about us

[0271] about the company

[0272] biographies of directors and officers

[0273] board of directors and officers

[0274] company biographies

[0275] company contacts

[0276] company leadership

[0277] company profile

[0278] contacts & team members

[0279] corporate directory

[0280] corporate governance

[0281] corporate management

[0282] corporate background

[0283] corporate organization

[0284] corporate profile

[0285] corporate information

[0286] e-mail addresses

[0287] e-mail directory

[0288] directors and executive officers

[0289] directors and management

[0290] directors and officers

[0291] key company personnel

[0292] key executives

[0293] key personnel

[0294] key people

[0295] personnel

[0296] leadership

[0297] leaders

[0298] our people

[0299] our team

[0300] our officers

[0301] staff

[0302] team

[0303] telephone directory

[0304] Board Headers

[0305] board members

[0306] board of directors

[0307] company directors

[0308] corporate directors

[0309] directors

[0310] inside directors

[0311] outside board members

[0312] outside directors

[0313] the board of directors

[0314] directors emeriti

[0315] directors emeritus

[0316] A training set of 1,688 sample Web pages was used, of which 597 had a press release content, and 1,091 had no press release content. For example, some of the pages used were the following: //www.valleyforward.org/eeapress.html PRESS_RELEASE //www.liberalpalette.com/Releases.html OTHER //www.gettingreal.com/ubb/Forum8/HTML/ OTHER 000096.html //www.conagra.com/pressreleases/071299.html PRESS_RELEASE //www.centennialhc.com/pr20.html PRESS_RELEASE //www.coveragecorp.com/press_releases/ PRESS_RELEASE brightlane.html //www.nativesearch.com/about.shtml OTHER //www.homecaremag.com/contact/ OTHER advertisinginfo.html //www.sherrysgreenhouse.com/ScottHgse.html OTHER //www.abolinc.com/news/laser-pr.htm PRESS_RELEASE //eonline.com/News/Items/0,1,6434,00.html OTHER //www.etienneaigner.com/spring2k/catalog/ OTHER ALLURE.html //cgb.panamsat.com/media/ PRESS_RELEASE pressview.asp?article=1142 //www.anaheimoc.org/news_theblock.asp OTHER //www.custompremis.com/ OTHER //www.eviciti.com/press_new/press.htm OTHER //www.summithosting.com/company/ PRESS_RELEASE news_090499_fpage.asp //www.poolehos.org/volunter.htm PRESS_RELEASE //www.de.stratus.com/news/2000/index.htm OTHER //www.toolsthatwork.com/ods_to.htm OTHER //www.hadron.com/swe-bws/newslttr/ OTHER feb98_pg3.html //www.calluna.com/press/00/23may00.html PRESS_RELEASE //www.1-e-assoc.com/home.html OTHER //www.alvaka.com/newweb/press/71599.html PRESS_RELEASE //pour.midcoast.com/manual/sections.html OTHER //www.metropolitanart.com/masters/caillebo/ OTHER riverbn.html //www.lcef.org/ OTHER news_menu.asp?menu=4&submenu=4m //www.commercebroker.com/corp/news/ PRESS_RELEASE press027.html //www.arizonathunder.com/ PRESS_RELEASE hirschpartner_press.html //www.the-dangerzone.com/press1.htm PRESS_RELEASE //www.planetweb.net/news/releases/pr030700.html PRESS_RELEASE //www.mace.com/news/01072000.html PRESS_RELEASE //www.realworld.com/CUSTOMER.HTM OTHER //www.oneliberty.com/entrepenueurExactLabs.html OTHER //www.k9web.com/onelist OTHER //www.netpulse.comlpress/articles19980630.html OTHER //www.capecodrec.com/festivals/festivals.html OTHER

[0317] Running all the defined tests on these sample Web pages and calculating the probabilities of occurrence for each test outcome, the following probabilities table is obtained:

[0318] P(H=True)=0.500000

[0319] P(H=False)=0.500000

[0320] P(T1=True|H=True)=0.986600

[0321] P(T1=True|H=False)=0.954170

[0322] P(T1=False|H=True)=0.013400

[0323] P(T1=False|H=False)=0.045830

[0324] P(T1=False|H=False)=0.045830

[0325] P(T2=True|H=True)=0.383585

[0326] P(T2=True|H=False)=0.342805

[0327] P(T2=False|H=True)=0.616415

[0328] P(T2=False|H=False)=0.657195

[0329] P(T3=True|H=True)=0.276382

[0330] P(T3=True|H=False)=0.253896

[0331] P(T3=False|H=True)=0.723618

[0332] P(T3=False|H=False)=0.746104

[0333] P(T4=True|H=True)=0.216080

[0334] P(T4=True|H=False)=0.055912

[0335] P(T4=False|H=True)=0.783920

[0336] P(T4=False|H=False)=0.944088

[0337] P(T5=True|H=True)=0.447236

[0338] P(T5=True|H=False)=0.017415

[0339] P(T5=False|H=True)=0.552764

[0340] P(T5=False|H=False)=0.982585

[0341] P(T6=True|H=True)=0.557823

[0342] P(T6=True|H=False)=0.112455

[0343] P(T6=False|H=True)=0.442177

[0344] P(T6=False|H=False)=0.887545

[0345] P(T7=True|H=True)=0.755102

[0346] P(T7=True|H=False)=0.727932

[0347] P(T7=False|H=True)=0.119048

[0348] P(T7=False|H=False)=0.230955

[0349] P(T7=C|H=True)=0.125850

[0350] P(T7=C|H=False)=0.041112

[0351] P(T8=True|H=True)=0.428571

[0352] P(T8=True|H=False)=0.118501

[0353] P(T8=False|H=True)=0.571429

[0354] P(T8=False|H=False)=0.881499

[0355] P(T9=True|H=True)=0.348639

[0356] P(T9=True|H=False)=0.013301

[0357] P(T9=False|H=True)=0.651361

[0358] P(T9=False|H=False)=0.986699

[0359] P(T10=True|H=True)=0.132653

[0360] P(T10=True|H=False)=0.001209

[0361] P(T10=False|H=True)=0.867347

[0362] P(T10=False|H=False)=0.998791

[0363] P(T11=True|H=True)=0.319933

[0364] P(T11=True|H=False)=0.094409

[0365] P(T11=False|H=True)=0.661642

[0366] P(T11=False|H=False)=0.900092

[0367] P(T11=C|H=True)=0.018425

[0368] P(T11=C|H=False)=0.005500

[0369] P(T12=True|H=True)=0.139028

[0370] P(T12=True|H=False)=0.045830

[0371] P(T12=False|H=True)=0.772194

[0372] P(T12=False|H=False)=0.951421

[0373] P(T12=C|H=True)=0.088777

[0374] P(T12=C|H=False)=0.002750

[0375] P(T13=True|H=True)=0.048576

[0376] P(T13=True|H=False)=0.067828

[0377] P(T13=False|H=True)=0.951424

[0378] P(T13=False|H=False)=0.932172

[0379] P(T14=True|H=True)=0.003350

[0380] P(T14=True|H=False)=0.007333

[0381] P(T14=False|H=True)=0.996650

[0382] P(T14=False|H=False)=0.992667

[0383] P(T15=1|H=True)=0.979899

[0384] P(T15=1|H=False)=0.807516

[0385] P(T15=2|H=True)=0.020101

[0386] P(T15=2|H=False)=0.192484

[0387] P(T16=1|H=True)=0.100503

[0388] P(T16=1|H=False)=0.373052

[0389] P(T16=2|H=True)=0.899497

[0390] P(T16=2|H=False)=0.626948

[0391] P(T17=1|H=True)=0.986600

[0392] P(T17=1|H=False)=0.918423

[0393] P(T17=2|H=True)=0.013400

[0394] P(T17=2|H=False)=0.081577

[0395] P(T18=1|H=True)=0.979899

[0396] P(T18=1|H=False)=0.965170

[0397] P(T18=2|H=True)=0.020101

[0398] P(T18=2|H=False)=0.034830

[0399] P(T19=1|H=True)=0.686767

[0400] P(T19=1|H=False)=0.913841

[0401] P(T19=2|H=True)=0.313233

[0402] P(T19=2|H=False)=0.086159

[0403] P(T20=1|H=True)=0.797320

[0404] P(T20=1|H=False)=0.925756

[0405] P(T20=2|H=True)=0.202680

[0406] P(T20=2|H=False)=0.074244

[0407] P(T21=1|H=True)=0.537688

[0408] P(T21=1|H=False)=0.024748

[0409] P(T21=2|H=True)=0.075377

[0410] P(T21=2|H=False)=0.004583

[0411] P(T21=3|H=True)=0.207705

[0412] P(T21=3|H=False)=0.130156

[0413] P(T21=4|H=True)=0.112228

[0414] P(T21=4|H=False)=0.109074

[0415] P(T21=False|H=True)=0.067002

[0416] P(T21=False|H=False)=0.731439

[0417] The foregoing table of conditional probabilities produced during the Bayesian Network training is used subsequently to combine evidence that a given Web page has some press release content. For example, for the following pages (of unknown content type) the confidence levels obtained are the following: Confidence Level for Press Release Web Page Content //www.picknparlor.com/home.htm 0.112199 //www.pivotal.com/News_Events/pr_000720.htm 0.999983 //www.mcdonalds.com/countries/countries.html 0.117991 //www.cambar.com/company/alliance.asp 0.338888 //www.mathematica.com/news/jlink.html 0.981671 //www.faxination.com/about/about_034/press/ 0.999985 E_wirelessfax2000.html 0.316617 //www.dauphintech.com/pressroom/ pressrelease6_4_1999.html //www.domres.com/press/fv.html 0.680403 //www.kronos.com/uk/news/handpunch.htm 0.962643 //www.trimble.com/press/presrel/092999a.htm 0.999999 //www.torian.com/default.htm 0.113988 //www.mechelonic-engineers.com/feedback.htm 0.113988 //www.fanhuggers.com/prod12.htm 0.144708 //www.etienneaigner.com/spring2k/catalog/ 0.160069 top_G_G1.html //www.timetracking.com/events/training.asp 0.521223 //www.webwatchdog.com/forms/contactform.cfm 0.111764 //www.laer.com/staff.htm 0.111519 //www.enessay.com/nsa.disc.html 0.111251 //www.providencecvb.com/press_releases.cfm?ID=28 0.999606

[0418] By choosing 0.85 as the confidence level threshold for accepting the hypothesis that a page contains press release content, it is straightforward to conclude which of these pages satisfy this hypothesis: Web page Content //www.picknparlor.com/home.htm other //www.pivotal.com/News_Events/pr_000720.htm press release //www.mcdonalds.com/countries/countries.html other //www.cambar.com/company/alliance.asp other //www.mathematica.com/news/jlink.html press release //www.faxination.com/about/about_034/press/ press release E_wirelessfax2000.html //www.dauphintech.com/pressroom/ other pressrelease6_4_1999.html //www.domres.com/press/fv.html other //www.kronos.com/uk/news/handpunch.htm press release //www.trimble.com/press/presrel/092999a.htm press release //www.torian.com/default.htm other //www.mechelonic-engineers.com/feedback.htm other //www.fanhuggers.com/prod12.htm other //www.etienneaigner.com/spring2k/catalog/ other top_G_G1.html //www.timetracking.com/events/training.asp other //www.webwatchdog.com/forms/contactform.cfm other //www.laer.com/staff.htm other //www.enessay.com/nsa.disc.html other //www.providencecvb.com/press_releases.cfm?ID=28 press release

[0419] While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. 

What is claimed is:
 1. A method of determining content type of contents of a subject Web page, comprising the steps of: providing a predefined set of potential content types; for each potential content type, running tests having test results which enable quantitative evaluation of at least some contents of the subject Web page being of the potential content type; mathematically combining the test results; and based on the combined test results, assigning a respective probability, for each potential content type, that some contents of that type exists on the subject Web page.
 2. A method as claimed in claim 1 wherein the set of potential content types include any combination of organization description, organization history, organization mission, organization products/services, organization members, organization contact information, management team information, job opportunities, press releases, calendar of events/activities, biographical data, articles/news with information about people, articles/news with information about organizations and employee roster.
 3. A method as claimed in claim 1 wherein the step of combining includes producing a respective confidence level for each potential content type, that at least some content of the subject Web page is of the potential content type.
 4. A method as claimed in claim 1 wherein the step of combining the test results includes using a Bayesian network.
 5. A method as claimed in claim 4 further comprising the step of training the Bayesian network using a training set of Web pages with respective known content types such that statistics on the test results are collected on the training set of Web pages.
 6. A method as claimed in claim 1 wherein the predefined set includes a potential content type of press release; and the step of running tests includes at least one of the following: (i) determining whether a predefined piece of data or keyword appears in the subject Web page; (ii) examining syntax or grammor or text properties; (iii) examining page format and style; (iv) examining links in the subject Web page; and (v) examining the links that refer to the subject Web page.
 7. A method as claimed in claim 1 wherein the step of running tests includes any of: (i) determining whether a predefined piece of data or keyword appears in the subject Web page; (ii) examining syntax or grammor or text properties; (iii) examining page format and style; (iv) examining links in the subject Web page; and (v) examining the links that refer to the subject Web page.
 8. A method as claimed in claim 1 further comprising the step of storing indications of the assigned probabilities of each potential content type per respective Web page.
 9. A database formed by the method of claim 8, said database containing indications of Web pages and corresponding content types determined to be found on respective Web pages.
 10. Apparatus for determining content type of contents of a subject Web page, comprising: a predefined set of potential content types; and a test module utilizing the predefined set, the test module employing a plurality of processor-executed tests having test results which enable, for each potential content type, quantitative evaluation of at least some contents of the subject Web page being of the potential content type, for each potential content type, the test module (i) running at least a subset of the tests, (ii) combining the test results and (iii) for each potential content type, assigning a respective probability that at least some contents of that type exists on the subject Web page being of the potential content type.
 11. Apparatus as claimed in claim 10 wherein the set of potential content types include any combination of contact information, press release, company description, employee list, other.
 12. Apparatus as claimed in claim 10 wherein the test module produces a respective confidence level for each potential content type, that at least some content of the subject Web page is of the potential content type.
 13. Apparatus as claimed in claim 10 wherein the test module combines the test results using a Bayesian network.
 14. Apparatus as claimed in claim 13 further comprising a training member for training the Bayesian network using a training set of Web pages with respective known content types, such that statistics on the test results are collected on the training set of Web pages.
 15. Apparatus as claimed in claim 10 wherein the predefined set includes a potential content type of at least one of organization description, organization history, organization mission, organization products/services, organization members, organization contact information, management team information, job opportunities, press releases, calendar of events/activities, biographical data, articles/news with information about people, articles/news with information about organizations and employee roster.
 16. Apparatus as claimed in claim 15 wherein the processor-executed tests include at least one of: (i) determining whether a predetermined piece of data appears in the subject Web page, (ii) examining syntax or grammar or text properties, (iii) examining page format and style, (iv) examining links in the subject Web page, and (v) examining links that refer to the subject Web page.
 17. Apparatus as claimed in claim 10 wherein the processor-executed tests include any of: (i) determining whether a predetermined piece of data appears in the subject Web page, (ii) examining syntax or grammar or text properties, (iii) examining page format and style, (iv) examining links in the subject Web page, and (v) examining links that refer to the subject Web page.
 18. Apparatus as claimed in claim 10 further comprising storage means for receiving and storing indications of the assigned probabilities of each content type per Web page as determined by the test module, such that the storage means provides a cross reference between a Web page and respective content types of contents found on that Web page. 